package cate.common.table.d;

import easy.java.dev.note.NoteClass;
import easy.java.dev.note.NoteField;

@NoteClass( "技能")
public class GDSkill {

    @NoteClass("技能-类型")
    public static class Type {
        @NoteField("无类型")
        public static final byte NULL = -1;

        @NoteField("普攻")
        public static final byte ATTACK = 0;

        @NoteField("主动技能")
        public static final byte ACTIVE = 1;

        @NoteField("被动技能")
        public static final byte PASSIVE = 2;

        @NoteField("默认值")
        public static final byte DEFAULT = ATTACK;
    }

    @NoteClass("技能-主动效果类型")
    public static class EffectType {

        @NoteField("无效果")
        public static final String 无 = "无";

        @NoteField("伤害(生命值减少)")
        public static final String 伤害 = "伤害";

        @NoteField("治疗(生命值恢复)")
        public static final String 治疗 = "治疗";

        @NoteField("复活")
        public static final String 复活 = "复活";

        @NoteField("驱散")
        public static final String 驱散 = "驱散";
    }


    @NoteClass("技能-伤害性质")
    public static class Nature {
        @NoteField("无性质")
        public static final byte NULL = 0;

        @NoteField("物理")
        public static final byte PHY = 1;

        @NoteField("魔法")
        public static final byte MAGIC = 2;

        @NoteField("真实")
        public static final byte REAL = 3;
    }

    @NoteClass("技能-数值基准")
    public static class Base {
        @NoteField("施法者属性")
        public static final byte CASTER = 1;

        @NoteField("目标属性")
        public static final byte TARGET = 2;

        public static String getName(byte base) {
            switch (base) {
                case CASTER:
                    return "施法者";
                case TARGET:
                    return "目标";
                default:
                    return "未知基准[" + base+"]";
            }
        }
    }

    @NoteClass("技能-技能范围")
    public static class Scope {
        @NoteField("没有人")
        public static final byte NULL = -1;

        @NoteField("敌方")
        public static final byte ENEMY = 0;

        @NoteField("我方")
        public static final byte WE = 1;

        @NoteField("仅自己")
        public static final byte SELF = 2;

        @NoteField("友方（除去自己）")
        public static final byte FRIENDS = 3;

        @NoteField("全体（敌我双方）")
        public static final byte ALL = 4;

        @NoteField("默认值")
        public static final byte DEFAULT = NULL;
    }

    @NoteClass( "技能-特殊目标规则")
    public static class CSpecial {
        @NoteField("无")
        public static final byte NULL = 0;

        @NoteField("普通攻击")
        public static final byte ATTACK = 1;

        @NoteField("前方单体")
        public static final byte SINGLE_FRONT = 2;

        @NoteField("前方一排")
        public static final byte FRONT_ONE_ROW = 3;

        @NoteField("后方一排")
        public static final byte BACK_ONE_ROW = 4;

        @NoteField("前方1列（横排）")
        public static final byte FRONT_ONE_COL = 5;

        @NoteField("前排单体")
        public static final byte SINGLE_FRONT_ROW = 6;

        @NoteField("后排单体")
        public static final byte SINGLE_BACK_ROW = 7;

        @NoteField("前方有人的一列")
        public static final byte FRONT_EXIST_COL = 8;
    }

    @NoteClass( "技能-主动脚本")
    public static class ActiveScript{

        public static final String 玄音铃珠 = "玄音铃珠";
        public static final String 星罗棋布 = "星罗棋布";
        public static final String 剑斩阎罗命 = "剑斩阎罗命";
        public static final String 蓄势待发 = "蓄势待发";
        public static final String 锋芒毕露 = "锋芒毕露";
        public static final String 惊鸿剑掠 = "惊鸿剑掠";
        public static final String 游天 = "游天";
        public static final String 天威审判 = "天威审判";
        public static final String 爱意挽留 = "爱意挽留";
        public static final String 遗忘汤药 = "遗忘汤药";
        public static final String 黄泉弦音 = "黄泉弦音";
        public static final String 孟婆换血 = "孟婆换血";
        public static final String 血之威严 = "血之威严";
        public static final String 血气震荡 = "血气震荡";
        public static final String 索命鱼叉 = "索命鱼叉";
        public static final String 利刃幽镰裂 = "利刃幽镰裂";
        public static final String 冷血追魂 = "冷血追魂";
        public static final String 血性穿刺 = "血性穿刺";
        public static final String 女巫恶作剧 = "女巫恶作剧";
        public static final String 突袭 = "突袭";
        public static final String 星舞剑击 = "星舞剑击";
        public static final String 梦断魂殇 = "梦断魂殇";
        public static final String 荣耀裁决 = "荣耀裁决";
        public static final String 蚩尤魔决 = "蚩尤魔决";
        public static final String 魔火焚世 = "魔火焚世";
        public static final String 气功掌 = "气功掌";
        public static final String 将近酒 = "将近酒";

    }



    @NoteClass( "技能-被动脚本")
    public static class PassiveScript {

        public static final String 连击 = "连击";
        public static final String 反伤 = "反伤";
        public static final String 敏捷 = "敏捷";
        public static final String 再生 = "再生";
        public static final String 殉道 = "殉道";
        public static final String 活力 = "活力";
        public static final String 追杀 = "追杀";
        public static final String 暴袭 = "暴袭";
        public static final String 自律 = "自律";
        public static final String 回魂 = "回魂";
        public static final String 净化 = "净化";
        public static final String 神疗 = "神疗";
        public static final String 避险 = "避险";
        public static final String 抗控 = "抗控";

        public static final String 持续受伤 = "持续受伤";
        public static final String 普攻抉择 = "普攻抉择";
        public static final String 奇偶相关 = "奇偶相关";
        public static final String 伤害无视 = "伤害无视";
        public static final String 疫病抉择 = "疫病抉择";
        public static final String 伤口盛宴 = "伤口盛宴";
        public static final String 血护之盾 = "血护之盾";
        public static final String 固若金汤 = "固若金汤";
        public static final String 生命抉择 = "生命抉择";
        public static final String 战法激励 = "战法激励";
        public static final String 源泉激励 = "源泉激励";
        public static final String 四羊奇偶 = "四羊奇偶";

        public static final String 天魔解体 = "天魔解体";
        public static final String 九幽阴魂 = "九幽阴魂";
        public static final String 乾天罡气 = "乾天罡气";
        public static final String 灵动九天 = "灵动九天";
        public static final String 妙手回春 = "妙手回春";

        public static final String 缴械 = "缴械";
        public static final String 杀意 = "杀意";
        public static final String 芳华 = "芳华";
        public static final String 金身 = "金身";
        public static final String 坚挺 = "坚挺";
        public static final String 不屈 = "不屈";

        public static final String 破灭 = "破灭";
        public static final String 摧毁 = "摧毁";
        public static final String 贡品 = "贡品";
        public static final String 集火 = "集火";
        public static final String 干扰 = "干扰";
        public static final String 罪仙 = "罪仙";
        public static final String 睚眦 = "睚眦";
        public static final String 奉献 = "奉献";
        public static final String 绝对零度 = "绝对零度";
        public static final String 沙暴送葬 = "沙暴送葬";
        public static final String 攻之转化 = "攻之转化";
        public static final String 受之转化 = "受之转化";
        public static final String 愈之转化 = "愈之转化";
        public static final String 波动狙击 = "波动狙击";
        public static final String 明镜止水 = "明镜止水";
        public static final String 混沌之力 = "混沌之力";
        public static final String 金刚不坏 = "金刚不坏";
        public static final String 自然之力 = "自然之力";

        public static final String 三人成众 = "三人成众";

        public static final String 可靠防护 = "可靠防护";
        public static final String 锐不可当 = "锐不可当";
        public static final String 枯木生花 = "枯木生花";
        public static final String 循环反复 = "循环反复";
        public static final String 生死相护 = "生死相护";
        public static final String 血气方刚 = "血气方刚";
        public static final String 同仇敌忾 = "同仇敌忾";
        public static final String 通真达灵 = "通真达灵";
        public static final String 混世魔王 = "混世魔王";
        public static final String 背水临渊 = "背水临渊";
        public static final String 浩然正气 = "浩然正气";
        public static final String 蚀骨锁魂 = "蚀骨锁魂";
        public static final String 心如止水 = "心如止水";
        public static final String 浴血奋战 = "浴血奋战";
        public static final String 厚积薄发 = "厚积薄发";


        public static final String 英雄觉醒 = "英雄觉醒";

        public static final String 对影月闪 = "对影月闪";
        public static final String 审判之箭 = "审判之箭";
        public static final String 损人利己 = "损人利己";
        public static final String 附香 = "附香";
        public static final String 烈火加身 = "烈火加身";
        public static final String 拈花焚魄 = "拈花焚魄";
        public static final String 花舞影错 = "花舞影错";
        public static final String 无畏战甲 = "无畏战甲";
        public static final String 随君终不悔 = "随君终不悔";
        public static final String 灵溪剑道 = "灵溪剑道";
        public static final String 莲华伊动 = "莲华伊动";
        public static final String 憋气反击 = "憋气反击";
        public static final String 画疆墨守 = "画疆墨守";
        public static final String 血战沙场 = "血战沙场";
        public static final String 狂沙守护 = "狂沙守护";
        public static final String 梨花 = "梨花";
        public static final String 审判恩赐 = "审判恩赐";
        public static final String 天使之力 = "天使之力";
        public static final String 超燃神炎 = "超燃神炎";
        public static final String 圣光指引 = "圣光指引";
        public static final String 圣光反馈 = "圣光反馈";
        public static final String 无双剑步 = "无双剑步";
        public static final String 圣剑压制 = "圣剑压制";
        public static final String 对决反击 = "对决反击";
        public static final String 秩序光辉 = "秩序光辉";
        public static final String 月漫成双 = "月漫成双";
        public static final String 余晖成绮 = "余晖成绮";
        public static final String 黄泉梦境 = "黄泉梦境";
        public static final String 海神惊涛 = "海神惊涛";
        public static final String 深海诅咒 = "深海诅咒";
        public static final String 狂鲨掠命 = "狂鲨掠命";
        public static final String 女巫禁术 = "女巫禁术";
        public static final String 灵魂漩涡 = "灵魂漩涡";
        public static final String 绝杀之刃 = "绝杀之刃";
        public static final String 花枪 = "花枪";
        public static final String 饕餮盛宴 = "饕餮盛宴";
        public static final String 净心九命 = "净心九命";
        public static final String 寸劲 = "寸劲";

        public static final String 蓝纹奶酪灵器 = "蓝纹奶酪灵器";
        public static final String 法国蜗牛灵器 = "法国蜗牛灵器";
        public static final String 生命之水灵器 = "生命之水灵器";
        public static final String 星空蛋糕灵器 = "星空蛋糕灵器";
        public static final String 冬阴功灵器 = "冬阴功灵器";
        public static final String 箭竹饭灵器 = "箭竹饭灵器";
        public static final String 银耳莲子羹灵器 = "银耳莲子羹灵器";
        public static final String 米兰意面灵器 = "米兰意面灵器";
        public static final String 纽伦堡香肠灵器 = "纽伦堡香肠灵器";
        public static final String 咖喱咖喱灵器 = "咖喱咖喱灵器";
        public static final String 战斧牛排灵器 = "战斧牛排灵器";
        public static final String 金色梦幻灵器 = "金色梦幻灵器";
        public static final String 至尊帝王蟹灵器 = "至尊帝王蟹灵器";
        public static final String 帝都烤鸭灵器 = "帝都烤鸭灵器";
        public static final String 伊比利亚火腿灵器 = "伊比利亚火腿灵器";
        public static final String 水晶马卡龙灵器 = "水晶马卡龙灵器";
        public static final String 卡布奇诺灵器 = "卡布奇诺灵器";
        public static final String 燕窝灵器 = "燕窝灵器";
        public static final String 孟婆灵器 = "孟婆灵器";
        public static final String 鲱鱼罐头灵器 = "鲱鱼罐头灵器";
        public static final String 黑女巫糖果灵器 = "黑女巫糖果灵器";
        public static final String 深海八爪鱼灵器 = "深海八爪鱼灵器";
        public static final String 双子灵器 = "双子灵器";
        public static final String 猫屎咖啡灵器 = "猫屎咖啡灵器";
        public static final String 酒剑仙灵器 = "酒剑仙灵器";

        public static final String 风神的祝福 = "风神的祝福";
        public static final String 邪铸壁垒 = "邪铸壁垒";
        public static final String 虹吸者的贪婪 = "虹吸者的贪婪";
        public static final String 歼灭皇冠 = "歼灭皇冠";
        public static final String 真理守护 = "真理守护";
        public static final String 荆棘屏障 = "荆棘屏障";
        public static final String 破魂游荡者 = "破魂游荡者";
        public static final String 世界树的嫩枝 = "世界树的嫩枝";
        public static final String 诛杀暗影之魂 = "诛杀暗影之魂";

        public static final String 天魔咒术 = "天魔咒术";
        public static final String 魔劲激发 = "魔劲激发";
    }


    @NoteClass( "技能-战斗临时统计类型")
    public static class StatType{

        @NoteField("造成伤害")
        public static final byte DAMAGE = 1;

        @NoteField("治疗")
        public static final byte HEAL = 2;

        @NoteField("复活")
        public static final byte RESURRECT = 3;

        @NoteField("击杀")
        public static final byte KILL = 4;

        @NoteField("驱散")
        public static final byte DISPEL = 5;

        @NoteField("位移")
        public static final byte MOVE = 6;

        @NoteField("过量治疗")
        public static final byte OVER_HEAL = 7;

        @NoteField("直接技能伤害")
        public static final byte SKILL_DAMAGE = 8;

        @NoteField("过量的技能伤害")
        public static final byte OVER_FLOW_DAMAGE = 9;
    }


    @NoteClass("技能-兄弟技能释放模式")
    public static class BrotherMode {
        @NoteField("无条件直接释放")
        public static final byte DEFAULT = 0;

        @NoteField("主技能目标为空")
        public static final byte NO_TARGET = 1;

        @NoteField("根据英雄人数选择技能释放")
        public static final byte HERO_NUM = 2;

        @NoteField("根据概率释放")
        public static final byte CHANCE = 4;

        @NoteField(value = "根据主技能目标相对位置的人数",detail = "确保主技能的目标在同一方")
        public static final byte RELATIVE_NUM = 5;

    }

    @NoteClass("技能-重选目标方式")
    public static class Retarget{
        @NoteField(value = "不重选",detail = "直接继承父技能的目标")
        public static final byte NO_RETARGET = 0;

        @NoteField("根据自己配置的目标选取规则选取")
        public static final byte ORIGIN = 1;

        @NoteField("选取主技能目标相邻范围的单位")
        public static final byte NEAR = 2;

        @NoteField("选取主技能目标同一排的其他单位")
        public static final byte SAME_ROW = 3;

        @NoteField("选取主技能目标同一列的其他单位")
        public static final byte SAME_COL = 4;

        @NoteField("选取主技能目标以外的单位")
        public static final byte OTHER = 5;

        @NoteField("父技能目标全死亡时重选")
        public static final byte RETARGET_WHEN_DIE = 6;

        @NoteField("父技能目标不空时重选")
        public static final byte RETARGET_WHEN_NO_EMPTY = 7;
    }

    @NoteClass("效果触发优先级")
    public static class Priority {

        @NoteField("低优先级")
        public static final int LOW = 0;

        @NoteField("默认优先级")
        public static final int DEFAULT = 1;

        @NoteField("高优先级")
        public static final int HIGH = 2;

    }
}
